#pragma once

#include "../DefinesCore.hpp"
#include <string>
#include <vector>
#include <map>

CYBERTRON_BEGIN
struct CaseResourceItem
{
	int  assetId;
	std::string  agentType;
	std::string  category;
	std::string  ueBlueprintPath;
	float  length;
	float  width;
	float  height;
};

class UtilCaseResource
{
public:
	CybertronCoreAPI  bool InitCaseResourceFile(std::string inputPath);
	CybertronCoreAPI  CaseResourceItem* getResourceByAgentType(std::string agentType);
	CybertronCoreAPI  CaseResourceItem* getResourceByAssetId(int AssetId);

private:
	typedef std::map<std::string, CaseResourceItem> AgentTypeMap;
	typedef std::map<int, CaseResourceItem> AssetIdMap;
	AgentTypeMap mAgentTypeMap;
	AssetIdMap mAssetIdMap;
	std::string mCaseResourceFile;

};

CYBERTRON_END
